package modelo;

public class LineItemProducto extends LineItem {
	private Producto producto;
	private int productosConOfertasPorProductoAplicadas;
	private int productosConOfertasPorCategoriaOMarcaAplicadas;
	
	public int getProductosConOfertasPorProductoAplicadas() {
		return productosConOfertasPorProductoAplicadas;
	}

	public void setProductosConOfertasPorProductoAplicadas(
			int productosConOfertasPorProductoAplicadas) {
		this.productosConOfertasPorProductoAplicadas = productosConOfertasPorProductoAplicadas;
	}

	public int getProductosConOfertasPorCategoriaOMarcaAplicadas() {
		return productosConOfertasPorCategoriaOMarcaAplicadas;
	}

	public void setProductosConOfertasPorCategoriaOMarcaAplicadas(
			int productosConOfertasPorCategoriaOMarcaAplicadas) {
		this.productosConOfertasPorCategoriaOMarcaAplicadas = productosConOfertasPorCategoriaOMarcaAplicadas;
	}

	public LineItemProducto(Producto producto, int cantidad, int numeroLinea) {
		super(cantidad, numeroLinea);
		this.producto = producto;
		productosConOfertasPorCategoriaOMarcaAplicadas = 0;
		productosConOfertasPorProductoAplicadas = 0;
	}
	
	public String getCategoriaProducto() {
		return producto.getCategoria();
	}
	
	public String getMarcaProducto() {
		return producto.getMarca();
	}

	@Override
	public double montoUnitario() {
		return producto.getPrecio();
	}

	@Override
	public double montoTotal() {
		return producto.getPrecio() * super.getCantidad();
	}

	@Override
	public String descripcion() {
		return producto.getDescripcion();
	}
	
	public int getIdProducto() {
		return producto.getId();
	}
	
	public String toString() {
		StringBuilder out = new StringBuilder();
		out.append(super.getCantidad() + "\t" + producto.getDescripcion() + "\t" + producto.getPrecio() + "\t" + montoTotal());
		return out.toString();
	}

}
